#ifndef PERSONMEMBEROPERATIONDETAILS_H
#define PERSONMEMBEROPERATIONDETAILS_H

#include <QList>
#include "person.h"

class PersonMemberOperationDetails : public Person
{
public:
    PersonMemberOperationDetails();
    PersonMemberOperationDetails(const QString memberID, const QString memberName,
                 const QString memberLevel, const QString consumptionType,
                 const QString consumptionTotal, const QString integration,
                 const QString cashPayment, const QString cupPayment,
                 const QString staffName, const QString consumptionDate)
        :Person(memberID, memberName)
    {
        m_memberLevel = memberLevel;
        m_consumptionType = consumptionType;
        m_consumptionTotal = consumptionTotal;
        m_integration = integration;
        m_cashPayment = cashPayment;
        m_cupPayment = cupPayment;
        m_staffName = staffName;
        m_consumptionDate = consumptionDate;
    }

    PersonMemberOperationDetails & operator =(const PersonMemberOperationDetails &other)
    {
        if (this == &other)
            return *this;
        Person::operator =(other);
        m_memberLevel = other.m_memberLevel;
        m_consumptionType = other.m_consumptionType;
        m_consumptionTotal = other.m_consumptionTotal;
        m_integration = other.m_integration;
        m_cashPayment = other.m_cashPayment;
        m_cupPayment = other.m_cupPayment;
        m_staffName = other.m_staffName;
        m_consumptionDate = other.m_consumptionDate;
        return *this;
    }

    QString get_memberLevel() const {return m_memberLevel;}
    QString get_consumptionType() const {return m_consumptionType;}
    QString get_consumptionTotal() const {return m_consumptionTotal;}
    QString get_integration() const {return m_integration;}
    QString get_cashPayment() const {return m_cashPayment;}
    QString get_cupPayment() const {return m_cupPayment;}
    QString get_staffName() const {return m_staffName;}
    QString get_consumptionDate() const {return m_consumptionDate;}

    void set_memberLevel(QString memberLevel)  {m_memberLevel = memberLevel;}
    void set_consumptionType(QString consumptionType)  {m_consumptionType = consumptionType;}
    void set_consumptionTotal(QString consumptionTotal)  {m_consumptionTotal = consumptionTotal;}
    void set_integration(QString integration)  {m_integration = integration;}
    void set_cashPayment(QString cashPayment)  {m_cashPayment = cashPayment;}
    void set_cupPayment(QString cupPayment)  {m_cupPayment = cupPayment;}
    void set_staffName(QString staffName)  {m_staffName = staffName;}
    void set_consumptionDate(QString consumptionDate)  {m_consumptionDate = consumptionDate;}

private:
    QString m_memberLevel;
    QString m_consumptionType;
    QString m_consumptionTotal;
    QString m_integration;
    QString m_cashPayment;
    QString m_cupPayment;
    QString m_staffName;
    QString m_consumptionDate;
};

typedef QList <PersonMemberOperationDetails> MemberOperationDetailsList;
#endif // PERSONMEMBEROPERATIONDETAILS_H
